package com.ruoyi.eqmonitor.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.core.annotation.Excel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * 设备监测指标 分析数据
 * @author ruoyi
 * @date 2022-11-25
 */
@Data
@TableName("opt_device_monitor_analyse_data")
public class OptDeviceMonitorAnalyseData implements Serializable {//extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** 编号 雪花id */
	@TableId(value = "id",type = IdType.ASSIGN_UUID)
    private String id;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String deviceCode;

    /** 站点名称 */
    @Excel(name = "站点名称")
    private String siteName;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String deviceType;

    /** 安装时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installTime;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal abx;

    /** 维度 */
    @Excel(name = "维度")
    private BigDecimal aby;

    /** 采集数据编码 */
    @Excel(name = "采集数据编码")
    private String code;

    /** 采集数据值 */
    @Excel(name = "采集数据值")
    private Double codeValue;

    /** 采集指标单位 */
    @Excel(name = "采集指标单位")
    private String dataUnit;

    /** 数据采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "数据采集时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitorTime;

    /** 采集指标名称 */
    @Excel(name = "采集指标名称")
    private String monitorName;

    /** 请求参数 */
    @TableField(exist = false)
    @JsonIgnore
    private Map<String, Object> params;
}
